package classes_0905;

/**
 *使用static修饰的属性称之为类属性/静态属性，和具体的对象无关。只要类一定义该属性就分配空间。
 * 静态变量不存在某个对象中，在类中存储，
 * static修饰的属性存储在JVM的方法区，类中所有对象共享同一个方法区(“类中的常量和静态变量”)，直接通过类名访问静态变量
 */
public class Japanese {
    public String name;
    public int age;
    public static String country="日本";

    public Japanese() {
    }
    public Japanese(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void show(){
//        static int a=10;错误，只能修饰类中属性，静态变量，只要类定义就产生了
        System.out.println("姓名："+name+" 年龄："+age+" 国籍:"+country);
    }

    public static void main(String[] args) {
//        static int a=10;只能修饰类中属性
        Japanese j1=new Japanese("小泉纯一郎",60);
        Japanese j2=new Japanese("安倍晋三",65);
        Japanese j3=new Japanese("稻盛和夫",90);
        //直接通过类名访问静态变量
        Japanese.country="中国";
        j1.show();
        j2.show();
        j3.show();

    }
}
